// vue3：
//    createRouter：创建路由实例
//    路由模式：history(localhost:5173/login) hash(localhost:5173/#/login)
//      createWebHistory：设置 history 模式
//      createWebHashHistory：设置 hash 模式
//    import.meta.env.BASE_URL：去配置文件(vite.config.ts)中找到设置 base 路径
//      设置之后，开启服务时，会在服务前添加 base 对应的路径(默认值：/)
import { createRouter, createWebHistory } from "vue-router";
import NProgress from "@/utils/nprogress";
import "nprogress/nprogress.css";

import routes from "~pages";
import { setupLayouts } from "virtual:generated-layouts";
const route = setupLayouts(routes);

// 创建路由对象
const router = createRouter({
  // 设置模式：history 模式
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: "/",
      redirect: "/home",
    },

    ...route,
  ],
});
//导航守卫
router.beforeEach((to, from, next) => {
  //进度条
  NProgress.start();
  //动态修改标题
  if (to.meta.title) {
    document.title = `${to.meta.title || ""}`;
  }

  next();
});
//后置守卫
router.afterEach((to) => {
  document.title = `${to.meta?.title || ""}`;
  NProgress.done();
});
export default router;
